# -*-coding:utf-8 -*-
'分页数据爬取'

# 第一步，找到要爬取的网页地址，并找到每页相同点和不同点
# http://www.yingjiesheng.com/commend-fulltime-1.html
# 第二步循环查询
# 第三步，写爬虫代码
import os
import time

import requests
from lxml import etree


def getPageInfo():
    # 这里的{}是预留后期替换的
    url = 'http://www.yingjiesheng.com/commend-fulltime-{}.html'
    # 测试的时候，分页信息就写少一点，比如，就写个2 3页
    # 有的网站有反爬机制，如果你频繁地爬取某个网站的信息，会被对方监控到后阻止你后续的访问
    # 这个时候爬虫代码就会终止报错
    # 这个时候，我们就需要在代码里面写一些睡眠或者暂停来缓解频繁爬取数据的行为
    for i in range(1, 3):  # 1,2
        result = ""
        # 把{}替换成i
        url = url.format(i)
        response = requests.get(url=url)
        response.encoding = 'gbk'
        tree = etree.HTML(response.text)
        list = tree.xpath("//table[@class='jobul']/tr")
        for li in list:
            text1 = li.xpath("./td/a/text()")
            text2 = li.xpath("./td/span/text()")
            if len(text1) != 2 or len(text2) != 2:
                # 这里是出错（最后的时候）的情况
                print(text1, text2)
                continue
            else:
                cName = text1[0]
                jobname = text1[1]
                address = text2[0]
                publist_Date = text2[1]
                result += cName + ";" + jobname + ";" + address + ";" + publist_Date + "\n"
        print("11111111111")
        file = os.getcwd() + '/requests/study/mulit_pageinfo.txt'
        output = open(file, mode='a', encoding='utf-8')
        output.write(result)
        output.close()
        time.sleep(2)  # sleep()睡眠函数，参数为睡眠时间，单位秒


if __name__ == '__main__':
    getPageInfo()
